package com.igeek.d0606;

/**
 * @Author: zhiyu
 * @Date:16:52
 * @DESC:
 * 2   酒+瓶+盖
 * 2   瓶加瓶
 * 2   盖*4
 * 酒  0.5  瓶  1   盖   0.5
 */
public class Test1 {
    public static int sum;//总共可以喝多少瓶酒
    public static int lastpz;//每次换完后剩余的瓶子数
    public static int lastgz;//每次换完后剩余的盖子数
    public static int eatPeach(int n){
        if (n>=10){
            return 1;
        }else {
            return (eatPeach(n+1)+1)*2;
        }
    }
    public static void buy(int money) {
        //先看看能买多少瓶
        int alljiu=money/2;
        sum+=alljiu;

        //统计盖子和瓶子的总数

        //上次剩余的盖子加这次买的酒的盖子
        int allgz=lastgz+alljiu;

        //上次剩余的空瓶子加这次买的酒的瓶子
        int allpz=lastpz+alljiu;

        //总金额
        int allmoney=0;

        //盖子可以换多少瓶酒，等同于4个盖子为2元钱
        if(allgz>=4) {
            allmoney+=(allgz/4)*2;
        }
        //换完后可能会有剩余，将剩余的统计起来
        lastgz=allgz%4;

        //瓶子可以换多少瓶酒，等同于2个空瓶为2元钱
        if(allpz>=2) {
            allmoney+=(allpz/2)*2;
        }
        //换完可能会有剩余，将剩余的统计起来
        lastpz=allpz%2;

        //还有2元或2元以上就可以继续买
        if(allmoney>=2) {
            buy(allmoney);//递归
        }
    }

    public static void main(String[] args) {
        System.out.println("第一天摘了 " + eatPeach(1)+"颗桃子");
        buy(10);
        System.out.println("可以喝"+sum+"瓶酒");
        System.out.println("还剩"+lastpz+"个瓶子");
        System.out.println("还剩"+lastgz+"个盖子");
    }
}
